#pragma once

#include "ftp/FileSystem.h"

#include <string>

class BoostFileSystem : public ftp::FileSystem
{
public:
	BoostFileSystem(const std::string& rootPath);

	virtual void rename(const std::string& oldPath, const std::string& newPath, ftp::FileSystemError* error);

	virtual void createDirectory(const std::string& dir, ftp::FileSystemError* error);
	virtual void removeDirectory(const std::string& dir, ftp::FileSystemError* error);
	virtual bool doesDirectoryExist(const std::string& dir);
	virtual void readDirectory(const std::string& dir, std::vector<std::string>* fileNames, ftp::FileSystemError* error);

	virtual std::auto_ptr<ftp::File> openFile(const std::string& dir, ftp::FileSystemError* error);

private:
	const std::string m_rootPath;
};

